//
//  BaseViewController.h
//  
//
//  Created by miller on 14/12/15.
//  Copyright (c) 2014年 yayu wang. All rights reserved.
//

#import <UIKit/UIKit.h>
#include "MBProgressHUD.h"
#import "PXAlertView.h"
@interface BaseViewController : UIViewController<UIGestureRecognizerDelegate, MBProgressHUDDelegate>

//创建导航条的标题视图
- (void)addTitleViewWithTitle:(NSString *)title;
//导航title换成图片
- (void)addTitleViewWithView:(UIView *)view;
//创建导航条的左右按钮
- (void)addBarButtonItemWithTitle:(NSString *)title imageName:(NSString *)imageName frame:(CGRect)frame target:(id)target action:(SEL)action isLeft:(BOOL)isLeft isCircle:(BOOL)isCircle;

/**
 *  查看系统版本是否大于7.0 
 */
-(void)checkSystemAdjustView;

/**
 *  创建button
 *
 *  @param frame  坐标
 *  @param title  标题
 *  @param target 谁调用
 *  @param action 点击事件
 *  @param tag    tag 值
 *
 *  @return 返回的button
 */
-(UIButton *)creatCustomButtonFrame:(CGRect)frame title:(NSString *)title target:(id)target action:(SEL)action tag:(NSInteger)tag;


#pragma mark - 添加返回键，子类如需自定义，可重载该方法实现
- (void)addBackNaviLeftItem;

#pragma mark - 添加右边返回首页按钮, 子类如需自定义，可重载该方法实现
- (void)addHomePageNaviRightItem;

#pragma mark - 添加右边返回首页按钮,使用图片, 子类如需自定义，可重载该方法实现
- (void)addHomePageNaviRightItemByImg:(NSString* ) imgName;
#pragma mark - 设置导航栏背景色, 子类如需自定义，可重载该方法实现
- (void)addNaviBarColor;
#pragma mark - 请稍候提示框
/**
 * 显示【请稍候...】,一直等待,需要主动隐藏
 * @param text 显示的文字
 */
- (void)showHudProgress_Indeterminate:(NSString* )text;
- (void)hideHudProgress;
/**
 *	@brief	添加错误提示toast
 *
 *	@param 	text 	提示内容
 *	@param 	time 	持续多久时间后消失
 */
- (void)showHudWithTextOnly:(NSString *)text duration:(int)time;
/**
 * 可以自定义显示的图片内容,并且在默认显示3s后关闭
 * @param text 显示的文字
 * @param view 自定义显示的view, 为nil,则默认显示成功标志
 * @param method 自定义任务结束后执行的操作,如为nil,则默认显示3s后返回上一级
 * @param target method依赖的对象
 */
- (void)showHudProgress_CustomView:(NSString* )text CustomView:(UIView* )view Method:(SEL)method onTarget:(id)target;

- (void)showCustomHudWithTextOnly:(NSString *)text duration:(int)time;

#pragma mark - 弹框显示
/**
 *  显示弹框
 *
 *  @param title       标题
 *  @param message     文字内容
 *  @param cancelTitle 去学校按钮名称
 *  @param otherTitle  另外一个按钮名称
 *  @param alertType   弹框类型  一个按钮还是两个按钮  @“one” @“two”
 *  @param completion   block 处理点击按钮事件
 */
- (void )showAlertWithTitle:(NSString*)title message:(NSString*)message cancelTitle:(NSString*)cancelTitle otherTitle:(NSString*)otherTitle alertType:(NSString*)alertType completion:(PXAlertViewCompletionBlock)completion;
/**
 点击非编辑区域收起键盘
 */
- (void)setUpForDismissKeyboard;

@end
